<?php

namespace Dddxiu\rules;

use Dddxiu\Layer;

/**
 * 不必要的值
 */
class Nullable implements Rule
{
    // flag
    const F = 'n';


    /**
     * 没有值就不继续校验
     * @param array $input
     * @param string $field
     * @param Layer $layer
     * @param array $args
     * @return \Closure|bool
     * @throws \Exception
     */
    public static function valid($input, $field, $layer, $args)
    {
        // 需要将校验规则设置为empty
        if (!array_key_exists($field, $input)) {
            $layer::setEmpty();
        }
        return $layer::next();
    }
}